<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen: pcl::Morphology&lt; PointT &gt; 模板类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Doxygen
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classpcl_1_1_morphology.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-types">Public 类型</a> &#124;
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pub-attribs">Public 属性</a> &#124;
<a href="#pri-types">Private 类型</a> &#124;
<a href="#pri-attribs">Private 属性</a> &#124;
<a href="classpcl_1_1_morphology-members.html">所有成员列表</a>  </div>
  <div class="headertitle">
<div class="title">pcl::Morphology&lt; PointT &gt; 模板类 参考</div>  </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
类 pcl::Morphology&lt; PointT &gt; 继承关系图:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classpcl_1_1_morphology.png" usemap="#pcl::Morphology_3C_20PointT_20_3E_map" alt=""/>
  <map id="pcl::Morphology_3C_20PointT_20_3E_map" name="pcl::Morphology_3C_20PointT_20_3E_map">
<area href="classpcl_1_1_p_c_l_base.html" title="PCL base class. Implements methods that are used by most PCL algorithms." alt="pcl::PCLBase&lt; PointT &gt;" shape="rect" coords="0,0,162,24"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public 类型</h2></td></tr>
<tr class="memitem:abc674ae8330aaf038e4143354d05b9eb"><td class="memItemLeft" align="right" valign="top"><a id="abc674ae8330aaf038e4143354d05b9eb"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>MORPHOLOGICAL_OPERATOR_TYPE</b> { <br />
&#160;&#160;<b>EROSION_GRAY</b>
, <b>DILATION_GRAY</b>
, <b>OPENING_GRAY</b>
, <b>CLOSING_GRAY</b>
, <br />
&#160;&#160;<b>EROSION_BINARY</b>
, <b>DILATION_BINARY</b>
, <b>OPENING_BINARY</b>
, <b>CLOSING_BINARY</b>
<br />
 }</td></tr>
<tr class="separator:abc674ae8330aaf038e4143354d05b9eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classpcl_1_1_p_c_l_base"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classpcl_1_1_p_c_l_base')"><img src="closed.png" alt="-"/>&#160;Public 类型 继承自 <a class="el" href="classpcl_1_1_p_c_l_base.html">pcl::PCLBase&lt; PointT &gt;</a></td></tr>
<tr class="memitem:ae2f6f6863a73337858b7a7a054eaae4f inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ae2f6f6863a73337858b7a7a054eaae4f"></a>
typedef <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloud</b></td></tr>
<tr class="separator:ae2f6f6863a73337858b7a7a054eaae4f inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab84dd662cda89edb882fe5307b2136ea inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ab84dd662cda89edb882fe5307b2136ea"></a>
typedef PointCloud::Ptr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudPtr</b></td></tr>
<tr class="separator:ab84dd662cda89edb882fe5307b2136ea inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8326513fad0680b6993e2f1a79a6af4 inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ac8326513fad0680b6993e2f1a79a6af4"></a>
typedef PointCloud::ConstPtr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudConstPtr</b></td></tr>
<tr class="separator:ac8326513fad0680b6993e2f1a79a6af4 inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae51eae0c7b3e0b7178f4894dff90660a inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ae51eae0c7b3e0b7178f4894dff90660a"></a>
typedef boost::shared_ptr&lt; <a class="el" href="structpcl_1_1_point_indices.html">PointIndices</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointIndicesPtr</b></td></tr>
<tr class="separator:ae51eae0c7b3e0b7178f4894dff90660a inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51771056fb4ab8c448a11157acbe2ee0 inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a51771056fb4ab8c448a11157acbe2ee0"></a>
typedef boost::shared_ptr&lt; <a class="el" href="structpcl_1_1_point_indices.html">PointIndices</a> const  &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointIndicesConstPtr</b></td></tr>
<tr class="separator:a51771056fb4ab8c448a11157acbe2ee0 inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:a37c8821498acb128fbd65fdc6fb53f4b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_morphology.html#a37c8821498acb128fbd65fdc6fb53f4b">openingBinary</a> (<a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;output)</td></tr>
<tr class="memdesc:a37c8821498acb128fbd65fdc6fb53f4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs erosion followed by dilation. It is useful for removing noise in the form of small blobs and patches.  <a href="classpcl_1_1_morphology.html#a37c8821498acb128fbd65fdc6fb53f4b">更多...</a><br /></td></tr>
<tr class="separator:a37c8821498acb128fbd65fdc6fb53f4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a721eca5b219113e80b6410bf13fe26ac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_morphology.html#a721eca5b219113e80b6410bf13fe26ac">closingBinary</a> (<a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;output)</td></tr>
<tr class="memdesc:a721eca5b219113e80b6410bf13fe26ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs dilation followed by erosion. It is useful for filling up (holes/cracks/small discontinuities) in a binary segmented region  <a href="classpcl_1_1_morphology.html#a721eca5b219113e80b6410bf13fe26ac">更多...</a><br /></td></tr>
<tr class="separator:a721eca5b219113e80b6410bf13fe26ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f3d6dd575a8e6a088816769e0ce89b0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_morphology.html#a3f3d6dd575a8e6a088816769e0ce89b0">erosionBinary</a> (<a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;output)</td></tr>
<tr class="memdesc:a3f3d6dd575a8e6a088816769e0ce89b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Binary dilation is similar to a logical disjunction of sets. At each pixel having value 1, if for all pixels in the structuring element having value 1, the corresponding pixels in the input image are also 1, the center pixel is set to 1. Otherwise, it is set to 0.  <a href="classpcl_1_1_morphology.html#a3f3d6dd575a8e6a088816769e0ce89b0">更多...</a><br /></td></tr>
<tr class="separator:a3f3d6dd575a8e6a088816769e0ce89b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18dc51525761a4cf3e183ae60661d62d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_morphology.html#a18dc51525761a4cf3e183ae60661d62d">dilationBinary</a> (<a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;output)</td></tr>
<tr class="memdesc:a18dc51525761a4cf3e183ae60661d62d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Binary erosion is similar to a logical addition of sets. At each pixel having value 1, if at least one pixel in the structuring element is 1 and the corresponding point in the input image is 1, the center pixel is set to 1. Otherwise, it is set to 0.  <a href="classpcl_1_1_morphology.html#a18dc51525761a4cf3e183ae60661d62d">更多...</a><br /></td></tr>
<tr class="separator:a18dc51525761a4cf3e183ae60661d62d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7da4236ea753b03fc9fc2a1d9733440"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_morphology.html#aa7da4236ea753b03fc9fc2a1d9733440">openingGray</a> (<a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;output)</td></tr>
<tr class="memdesc:aa7da4236ea753b03fc9fc2a1d9733440"><td class="mdescLeft">&#160;</td><td class="mdescRight">Grayscale erosion followed by dilation. This is used to remove small bright artifacts from the image. Large bright objects are relatively undisturbed.  <a href="classpcl_1_1_morphology.html#aa7da4236ea753b03fc9fc2a1d9733440">更多...</a><br /></td></tr>
<tr class="separator:aa7da4236ea753b03fc9fc2a1d9733440"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5eb36eaa9746a6d42055d66cc4ed1191"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_morphology.html#a5eb36eaa9746a6d42055d66cc4ed1191">closingGray</a> (<a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;output)</td></tr>
<tr class="memdesc:a5eb36eaa9746a6d42055d66cc4ed1191"><td class="mdescLeft">&#160;</td><td class="mdescRight">Grayscale dilation followed by erosion. This is used to remove small dark artifacts from the image. Bright features or large dark features are relatively undisturbed.  <a href="classpcl_1_1_morphology.html#a5eb36eaa9746a6d42055d66cc4ed1191">更多...</a><br /></td></tr>
<tr class="separator:a5eb36eaa9746a6d42055d66cc4ed1191"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a341d6b75cfdf4dac2e11df6c7a92b244"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_morphology.html#a341d6b75cfdf4dac2e11df6c7a92b244">erosionGray</a> (<a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;output)</td></tr>
<tr class="memdesc:a341d6b75cfdf4dac2e11df6c7a92b244"><td class="mdescLeft">&#160;</td><td class="mdescRight">Takes the min of the pixels where kernel is 1  <a href="classpcl_1_1_morphology.html#a341d6b75cfdf4dac2e11df6c7a92b244">更多...</a><br /></td></tr>
<tr class="separator:a341d6b75cfdf4dac2e11df6c7a92b244"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe04d57224cedbcad63ed292fad21a41"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_morphology.html#afe04d57224cedbcad63ed292fad21a41">dilationGray</a> (<a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;output)</td></tr>
<tr class="memdesc:afe04d57224cedbcad63ed292fad21a41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Takes the max of the pixels where kernel is 1  <a href="classpcl_1_1_morphology.html#afe04d57224cedbcad63ed292fad21a41">更多...</a><br /></td></tr>
<tr class="separator:afe04d57224cedbcad63ed292fad21a41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24016fd8a10973def9d5a7b7ce2fff0c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_morphology.html#a24016fd8a10973def9d5a7b7ce2fff0c">subtractionBinary</a> (<a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;output, const <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;input1, const <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;input2)</td></tr>
<tr class="memdesc:a24016fd8a10973def9d5a7b7ce2fff0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set operation output = input1 - input2  <a href="classpcl_1_1_morphology.html#a24016fd8a10973def9d5a7b7ce2fff0c">更多...</a><br /></td></tr>
<tr class="separator:a24016fd8a10973def9d5a7b7ce2fff0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b51bc2105b1a685b2d8f901bf03ec30"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_morphology.html#a8b51bc2105b1a685b2d8f901bf03ec30">unionBinary</a> (<a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;output, const <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;input1, const <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;input2)</td></tr>
<tr class="memdesc:a8b51bc2105b1a685b2d8f901bf03ec30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set operation <img class="formulaInl" alt="$output = input1 \cup input2$" src="form_0.png"/>  <a href="classpcl_1_1_morphology.html#a8b51bc2105b1a685b2d8f901bf03ec30">更多...</a><br /></td></tr>
<tr class="separator:a8b51bc2105b1a685b2d8f901bf03ec30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8313a81878dd09abd8be306e7c2819f6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_morphology.html#a8313a81878dd09abd8be306e7c2819f6">intersectionBinary</a> (<a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;output, const <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;input1, const <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;input2)</td></tr>
<tr class="memdesc:a8313a81878dd09abd8be306e7c2819f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set operation <img class="formulaInl" alt="$ output = input1 \cap input2 $" src="form_1.png"/>  <a href="classpcl_1_1_morphology.html#a8313a81878dd09abd8be306e7c2819f6">更多...</a><br /></td></tr>
<tr class="separator:a8313a81878dd09abd8be306e7c2819f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0275368c80f63873c36cad8ce60ceb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_morphology.html#ae0275368c80f63873c36cad8ce60ceb2">structuringElementCircular</a> (<a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;<a class="el" href="classpcl_1_1kernel.html">kernel</a>, const int radius)</td></tr>
<tr class="memdesc:ae0275368c80f63873c36cad8ce60ceb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a circular structing element. The size of the kernel created is 2*radius x 2*radius. Center of the structuring element is the center of the circle. All values lying on the circle are 1 and the others are 0.  <a href="classpcl_1_1_morphology.html#ae0275368c80f63873c36cad8ce60ceb2">更多...</a><br /></td></tr>
<tr class="separator:ae0275368c80f63873c36cad8ce60ceb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95c09ffdc412564eee4d9c2e9461baaf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_morphology.html#a95c09ffdc412564eee4d9c2e9461baaf">structuringElementRectangle</a> (<a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;<a class="el" href="classpcl_1_1kernel.html">kernel</a>, const int height, const int width)</td></tr>
<tr class="memdesc:a95c09ffdc412564eee4d9c2e9461baaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a rectangular structing element of size height x width. * All values are 1.  <a href="classpcl_1_1_morphology.html#a95c09ffdc412564eee4d9c2e9461baaf">更多...</a><br /></td></tr>
<tr class="separator:a95c09ffdc412564eee4d9c2e9461baaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5cd7554ee53f464d94163c7b57d7c87"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_morphology.html#aa5cd7554ee53f464d94163c7b57d7c87">applyMorphologicalOperation</a> (<a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;output)</td></tr>
<tr class="separator:aa5cd7554ee53f464d94163c7b57d7c87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40b826a1d22a1644d5234a618bacfc78"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_morphology.html#a40b826a1d22a1644d5234a618bacfc78">setStructuringElement</a> (const PointCloudInPtr &amp;structuring_element)</td></tr>
<tr class="separator:a40b826a1d22a1644d5234a618bacfc78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classpcl_1_1_p_c_l_base"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classpcl_1_1_p_c_l_base')"><img src="closed.png" alt="-"/>&#160;Public 成员函数 继承自 <a class="el" href="classpcl_1_1_p_c_l_base.html">pcl::PCLBase&lt; PointT &gt;</a></td></tr>
<tr class="memitem:af4fbc5eb005057f8a0fc6d60bde595df inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="af4fbc5eb005057f8a0fc6d60bde595df"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#af4fbc5eb005057f8a0fc6d60bde595df">PCLBase</a> ()</td></tr>
<tr class="memdesc:af4fbc5eb005057f8a0fc6d60bde595df inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty constructor. <br /></td></tr>
<tr class="separator:af4fbc5eb005057f8a0fc6d60bde595df inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a6dd7a91275d7737cf1b18005b47244 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a7a6dd7a91275d7737cf1b18005b47244"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a7a6dd7a91275d7737cf1b18005b47244">PCLBase</a> (const <a class="el" href="classpcl_1_1_p_c_l_base.html">PCLBase</a> &amp;base)</td></tr>
<tr class="memdesc:a7a6dd7a91275d7737cf1b18005b47244 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor. <br /></td></tr>
<tr class="separator:a7a6dd7a91275d7737cf1b18005b47244 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5d6846e98e59c37dcc3dc9958d53966 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ad5d6846e98e59c37dcc3dc9958d53966"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#ad5d6846e98e59c37dcc3dc9958d53966">~PCLBase</a> ()</td></tr>
<tr class="memdesc:ad5d6846e98e59c37dcc3dc9958d53966 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:ad5d6846e98e59c37dcc3dc9958d53966 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1952d7101f3942bac3b69ed55c1ca7ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a1952d7101f3942bac3b69ed55c1ca7ea">setInputCloud</a> (const PointCloudConstPtr &amp;cloud)</td></tr>
<tr class="memdesc:a1952d7101f3942bac3b69ed55c1ca7ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the input dataset  <a href="classpcl_1_1_p_c_l_base.html#a1952d7101f3942bac3b69ed55c1ca7ea">更多...</a><br /></td></tr>
<tr class="separator:a1952d7101f3942bac3b69ed55c1ca7ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8cd745c4f7a792212f4fc3720b9d46ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a8cd745c4f7a792212f4fc3720b9d46ea"></a>
PointCloudConstPtr const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a8cd745c4f7a792212f4fc3720b9d46ea">getInputCloud</a> () const</td></tr>
<tr class="memdesc:a8cd745c4f7a792212f4fc3720b9d46ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the input point cloud dataset. <br /></td></tr>
<tr class="separator:a8cd745c4f7a792212f4fc3720b9d46ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab219359de6eb34c9d51e2e976dd1a0d1 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#ab219359de6eb34c9d51e2e976dd1a0d1">setIndices</a> (const IndicesPtr &amp;indices)</td></tr>
<tr class="memdesc:ab219359de6eb34c9d51e2e976dd1a0d1 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the vector of indices that represents the input data.  <a href="classpcl_1_1_p_c_l_base.html#ab219359de6eb34c9d51e2e976dd1a0d1">更多...</a><br /></td></tr>
<tr class="separator:ab219359de6eb34c9d51e2e976dd1a0d1 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a436c68c74b31e4dd00000adfbb11ca7c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a436c68c74b31e4dd00000adfbb11ca7c">setIndices</a> (const IndicesConstPtr &amp;indices)</td></tr>
<tr class="memdesc:a436c68c74b31e4dd00000adfbb11ca7c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the vector of indices that represents the input data.  <a href="classpcl_1_1_p_c_l_base.html#a436c68c74b31e4dd00000adfbb11ca7c">更多...</a><br /></td></tr>
<tr class="separator:a436c68c74b31e4dd00000adfbb11ca7c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9cc90d8364ce968566f75800d3773ca inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#af9cc90d8364ce968566f75800d3773ca">setIndices</a> (const PointIndicesConstPtr &amp;indices)</td></tr>
<tr class="memdesc:af9cc90d8364ce968566f75800d3773ca inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the vector of indices that represents the input data.  <a href="classpcl_1_1_p_c_l_base.html#af9cc90d8364ce968566f75800d3773ca">更多...</a><br /></td></tr>
<tr class="separator:af9cc90d8364ce968566f75800d3773ca inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a930c7a6375fdf65ff8cfdb4eb4a6d996 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a930c7a6375fdf65ff8cfdb4eb4a6d996">setIndices</a> (size_t row_start, size_t col_start, size_t nb_rows, size_t nb_cols)</td></tr>
<tr class="memdesc:a930c7a6375fdf65ff8cfdb4eb4a6d996 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the indices for the points laying within an interest region of the point cloud.  <a href="classpcl_1_1_p_c_l_base.html#a930c7a6375fdf65ff8cfdb4eb4a6d996">更多...</a><br /></td></tr>
<tr class="separator:a930c7a6375fdf65ff8cfdb4eb4a6d996 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a058753dd4de73d3d0062fe2e452fba3c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a058753dd4de73d3d0062fe2e452fba3c"></a>
IndicesPtr const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a058753dd4de73d3d0062fe2e452fba3c">getIndices</a> ()</td></tr>
<tr class="memdesc:a058753dd4de73d3d0062fe2e452fba3c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the vector of indices used. <br /></td></tr>
<tr class="separator:a058753dd4de73d3d0062fe2e452fba3c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acae187b37230758959572ceb1e6e2045 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="acae187b37230758959572ceb1e6e2045"></a>
IndicesConstPtr const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#acae187b37230758959572ceb1e6e2045">getIndices</a> () const</td></tr>
<tr class="memdesc:acae187b37230758959572ceb1e6e2045 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the vector of indices used. <br /></td></tr>
<tr class="separator:acae187b37230758959572ceb1e6e2045 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7335fedb0af0930b9d1dedcb54ba201 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#af7335fedb0af0930b9d1dedcb54ba201">operator[]</a> (size_t pos) const</td></tr>
<tr class="memdesc:af7335fedb0af0930b9d1dedcb54ba201 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override <a class="el" href="classpcl_1_1_point_cloud.html" title="PointCloud represents the base class in PCL for storing collections of 3D points.">PointCloud</a> operator[] to shorten code  <a href="classpcl_1_1_p_c_l_base.html#af7335fedb0af0930b9d1dedcb54ba201">更多...</a><br /></td></tr>
<tr class="separator:af7335fedb0af0930b9d1dedcb54ba201 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public 属性</h2></td></tr>
<tr class="memitem:afcca0926d95d062723cf15204693f6a2"><td class="memItemLeft" align="right" valign="top"><a id="afcca0926d95d062723cf15204693f6a2"></a>
MORPHOLOGICAL_OPERATOR_TYPE&#160;</td><td class="memItemRight" valign="bottom"><b>operator_type</b></td></tr>
<tr class="separator:afcca0926d95d062723cf15204693f6a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-types"></a>
Private 类型</h2></td></tr>
<tr class="memitem:adc5c3b4f0be798c5425b3d430361fac4"><td class="memItemLeft" align="right" valign="top"><a id="adc5c3b4f0be798c5425b3d430361fac4"></a>
typedef <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudIn</b></td></tr>
<tr class="separator:adc5c3b4f0be798c5425b3d430361fac4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9c4fa0c6704916f2deef8b4d0c5e5a0"><td class="memItemLeft" align="right" valign="top"><a id="aa9c4fa0c6704916f2deef8b4d0c5e5a0"></a>
typedef PointCloudIn::Ptr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudInPtr</b></td></tr>
<tr class="separator:aa9c4fa0c6704916f2deef8b4d0c5e5a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private 属性</h2></td></tr>
<tr class="memitem:a0393682b475988f6e191d9324fef2b7d"><td class="memItemLeft" align="right" valign="top"><a id="a0393682b475988f6e191d9324fef2b7d"></a>
PointCloudInPtr&#160;</td><td class="memItemRight" valign="bottom"><b>structuring_element_</b></td></tr>
<tr class="separator:a0393682b475988f6e191d9324fef2b7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
额外继承的成员函数</h2></td></tr>
<tr class="inherit_header pro_methods_classpcl_1_1_p_c_l_base"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classpcl_1_1_p_c_l_base')"><img src="closed.png" alt="-"/>&#160;Protected 成员函数 继承自 <a class="el" href="classpcl_1_1_p_c_l_base.html">pcl::PCLBase&lt; PointT &gt;</a></td></tr>
<tr class="memitem:acceb20854934f4cf77e266eb5a44d4f0 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#acceb20854934f4cf77e266eb5a44d4f0">initCompute</a> ()</td></tr>
<tr class="memdesc:acceb20854934f4cf77e266eb5a44d4f0 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method should get called before starting the actual computation.  <a href="classpcl_1_1_p_c_l_base.html#acceb20854934f4cf77e266eb5a44d4f0">更多...</a><br /></td></tr>
<tr class="separator:acceb20854934f4cf77e266eb5a44d4f0 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc426c4eebb94b7734d4fa556bff1420 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="afc426c4eebb94b7734d4fa556bff1420"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#afc426c4eebb94b7734d4fa556bff1420">deinitCompute</a> ()</td></tr>
<tr class="memdesc:afc426c4eebb94b7734d4fa556bff1420 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method should get called after finishing the actual computation. <br /></td></tr>
<tr class="separator:afc426c4eebb94b7734d4fa556bff1420 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classpcl_1_1_p_c_l_base"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classpcl_1_1_p_c_l_base')"><img src="closed.png" alt="-"/>&#160;Protected 属性 继承自 <a class="el" href="classpcl_1_1_p_c_l_base.html">pcl::PCLBase&lt; PointT &gt;</a></td></tr>
<tr class="memitem:a09c70d8e06e3fb4f07903fe6f8d67869 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a09c70d8e06e3fb4f07903fe6f8d67869"></a>
PointCloudConstPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a></td></tr>
<tr class="memdesc:a09c70d8e06e3fb4f07903fe6f8d67869 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The input point cloud dataset. <br /></td></tr>
<tr class="separator:a09c70d8e06e3fb4f07903fe6f8d67869 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaee847c8a517ebf365bad2cb182a6626 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="aaee847c8a517ebf365bad2cb182a6626"></a>
IndicesPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#aaee847c8a517ebf365bad2cb182a6626">indices_</a></td></tr>
<tr class="memdesc:aaee847c8a517ebf365bad2cb182a6626 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">A pointer to the vector of point indices to use. <br /></td></tr>
<tr class="separator:aaee847c8a517ebf365bad2cb182a6626 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada1eadb824d34ca9206a86343d9760bb inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ada1eadb824d34ca9206a86343d9760bb"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#ada1eadb824d34ca9206a86343d9760bb">use_indices_</a></td></tr>
<tr class="memdesc:ada1eadb824d34ca9206a86343d9760bb inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set to true if point indices are used. <br /></td></tr>
<tr class="separator:ada1eadb824d34ca9206a86343d9760bb inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adadb0299f144528020ed558af6879662 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="adadb0299f144528020ed558af6879662"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#adadb0299f144528020ed558af6879662">fake_indices_</a></td></tr>
<tr class="memdesc:adadb0299f144528020ed558af6879662 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">If no set of indices are given, we construct a set of fake indices that mimic the input <a class="el" href="classpcl_1_1_point_cloud.html" title="PointCloud represents the base class in PCL for storing collections of 3D points.">PointCloud</a>. <br /></td></tr>
<tr class="separator:adadb0299f144528020ed558af6879662 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">成员函数说明</h2>
<a id="aa5cd7554ee53f464d94163c7b57d7c87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa5cd7554ee53f464d94163c7b57d7c87">&#9670;&nbsp;</a></span>applyMorphologicalOperation()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_morphology.html">pcl::Morphology</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;::applyMorphologicalOperation </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>output</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output point cloud passed by reference </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a721eca5b219113e80b6410bf13fe26ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a721eca5b219113e80b6410bf13fe26ac">&#9670;&nbsp;</a></span>closingBinary()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_morphology.html">pcl::Morphology</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;::closingBinary </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>output</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs dilation followed by erosion. It is useful for filling up (holes/cracks/small discontinuities) in a binary segmented region </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output point cloud passed by reference </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;{</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  PointCloudInPtr intermediate_output (<span class="keyword">new</span> PointCloudIn);</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;  <a class="code" href="classpcl_1_1_morphology.html#a18dc51525761a4cf3e183ae60661d62d">dilationBinary</a> (*intermediate_output);</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  this-&gt;<a class="code" href="classpcl_1_1_p_c_l_base.html#a1952d7101f3942bac3b69ed55c1ca7ea">setInputCloud</a> (intermediate_output);</div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;  <a class="code" href="classpcl_1_1_morphology.html#a3f3d6dd575a8e6a088816769e0ce89b0">erosionBinary</a> (output);</div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;}</div>
<div class="ttc" id="aclasspcl_1_1_morphology_html_a18dc51525761a4cf3e183ae60661d62d"><div class="ttname"><a href="classpcl_1_1_morphology.html#a18dc51525761a4cf3e183ae60661d62d">pcl::Morphology::dilationBinary</a></div><div class="ttdeci">void dilationBinary(pcl::PointCloud&lt; PointT &gt; &amp;output)</div><div class="ttdoc">Binary erosion is similar to a logical addition of sets. At each pixel having value 1,...</div><div class="ttdef"><b>Definition:</b> morphology.hpp:99</div></div>
<div class="ttc" id="aclasspcl_1_1_morphology_html_a3f3d6dd575a8e6a088816769e0ce89b0"><div class="ttname"><a href="classpcl_1_1_morphology.html#a3f3d6dd575a8e6a088816769e0ce89b0">pcl::Morphology::erosionBinary</a></div><div class="ttdeci">void erosionBinary(pcl::PointCloud&lt; PointT &gt; &amp;output)</div><div class="ttdoc">Binary dilation is similar to a logical disjunction of sets. At each pixel having value 1,...</div><div class="ttdef"><b>Definition:</b> morphology.hpp:44</div></div>
<div class="ttc" id="aclasspcl_1_1_p_c_l_base_html_a1952d7101f3942bac3b69ed55c1ca7ea"><div class="ttname"><a href="classpcl_1_1_p_c_l_base.html#a1952d7101f3942bac3b69ed55c1ca7ea">pcl::PCLBase::setInputCloud</a></div><div class="ttdeci">virtual void setInputCloud(const PointCloudConstPtr &amp;cloud)</div><div class="ttdoc">Provide a pointer to the input dataset</div><div class="ttdef"><b>Definition:</b> pcl_base.hpp:66</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a5eb36eaa9746a6d42055d66cc4ed1191"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5eb36eaa9746a6d42055d66cc4ed1191">&#9670;&nbsp;</a></span>closingGray()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_morphology.html">pcl::Morphology</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;::closingGray </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>output</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Grayscale dilation followed by erosion. This is used to remove small dark artifacts from the image. Bright features or large dark features are relatively undisturbed. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output point cloud passed by reference </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;{</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;  PointCloudInPtr intermediate_output (<span class="keyword">new</span> PointCloudIn);</div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;  <a class="code" href="classpcl_1_1_morphology.html#afe04d57224cedbcad63ed292fad21a41">dilationGray</a> (*intermediate_output);</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;  this-&gt;<a class="code" href="classpcl_1_1_p_c_l_base.html#a1952d7101f3942bac3b69ed55c1ca7ea">setInputCloud</a> (intermediate_output);</div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;  <a class="code" href="classpcl_1_1_morphology.html#a341d6b75cfdf4dac2e11df6c7a92b244">erosionGray</a> (output);</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;}</div>
<div class="ttc" id="aclasspcl_1_1_morphology_html_a341d6b75cfdf4dac2e11df6c7a92b244"><div class="ttname"><a href="classpcl_1_1_morphology.html#a341d6b75cfdf4dac2e11df6c7a92b244">pcl::Morphology::erosionGray</a></div><div class="ttdeci">void erosionGray(pcl::PointCloud&lt; PointT &gt; &amp;output)</div><div class="ttdoc">Takes the min of the pixels where kernel is 1</div><div class="ttdef"><b>Definition:</b> morphology.hpp:168</div></div>
<div class="ttc" id="aclasspcl_1_1_morphology_html_afe04d57224cedbcad63ed292fad21a41"><div class="ttname"><a href="classpcl_1_1_morphology.html#afe04d57224cedbcad63ed292fad21a41">pcl::Morphology::dilationGray</a></div><div class="ttdeci">void dilationGray(pcl::PointCloud&lt; PointT &gt; &amp;output)</div><div class="ttdoc">Takes the max of the pixels where kernel is 1</div><div class="ttdef"><b>Definition:</b> morphology.hpp:211</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a18dc51525761a4cf3e183ae60661d62d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18dc51525761a4cf3e183ae60661d62d">&#9670;&nbsp;</a></span>dilationBinary()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_morphology.html">pcl::Morphology</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;::dilationBinary </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>output</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Binary erosion is similar to a logical addition of sets. At each pixel having value 1, if at least one pixel in the structuring element is 1 and the corresponding point in the input image is 1, the center pixel is set to 1. Otherwise, it is set to 0. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output point cloud passed by reference </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;{</div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> height = <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;height;</div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> width = <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;width;</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> kernel_height = structuring_element_-&gt;height;</div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> kernel_width = structuring_element_-&gt;width;</div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  <span class="keywordtype">bool</span> match_flag;</div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160; </div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  output.<a class="code" href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">width</a> = width;</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;  output.<a class="code" href="classpcl_1_1_point_cloud.html#a4f34b45220c57f96607513ffad0d9582">height</a> = height;</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  output.<a class="code" href="classpcl_1_1_point_cloud.html#a2d60b6927b31ef89cd3b97e8173ea4aa">resize</a> (width * height);</div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160; </div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; height; i++)</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  {</div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; width; j++)</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    {</div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      match_flag = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;      <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k = 0; k &lt; kernel_height; k++)</div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;      {</div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        <span class="keywordflow">if</span> (match_flag)</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;          <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        <span class="keywordflow">for</span> (<span class="keywordtype">int</span> l = 0; l &lt; kernel_width; l++)</div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        {</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;          <span class="comment">// We only check for 1&#39;s in the kernel</span></div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;          <span class="keywordflow">if</span> ((*structuring_element_)(l, k).intensity == 0)</div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;            <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;          <span class="keywordflow">if</span> ((i + k - kernel_height / 2) &lt; 0 || (i + k - kernel_height / 2) &gt;= height || (j + l - kernel_width / 2) &lt; 0 || (j + l - kernel_width / 2) &gt;= height)</div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;          {</div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;            <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;          }</div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;          <span class="comment">// If any position where kernel is 1 and image is also one is detected, </span></div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;          <span class="comment">// matching occurs</span></div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;          <span class="keywordflow">if</span> ((*<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>)(j + l - kernel_width / 2, i + k - kernel_height / 2).intensity == 1)</div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;          {</div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;            match_flag = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;            <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;          }</div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        }</div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;      }</div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;      <span class="comment">// Assign value according to match flag</span></div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;      output (j, i).intensity = (match_flag) ? 1 : 0;</div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    }</div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;  }</div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;}</div>
<div class="ttc" id="aclasspcl_1_1_p_c_l_base_html_a09c70d8e06e3fb4f07903fe6f8d67869"><div class="ttname"><a href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">pcl::PCLBase::input_</a></div><div class="ttdeci">PointCloudConstPtr input_</div><div class="ttdoc">The input point cloud dataset.</div><div class="ttdef"><b>Definition:</b> pcl_base.h:150</div></div>
<div class="ttc" id="aclasspcl_1_1_point_cloud_html_a2185a6453f8ad905d7bdf7b45754a160"><div class="ttname"><a href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">pcl::PointCloud::width</a></div><div class="ttdeci">uint32_t width</div><div class="ttdoc">The point cloud width (if organized as an image-structure).</div><div class="ttdef"><b>Definition:</b> point_cloud.h:413</div></div>
<div class="ttc" id="aclasspcl_1_1_point_cloud_html_a2d60b6927b31ef89cd3b97e8173ea4aa"><div class="ttname"><a href="classpcl_1_1_point_cloud.html#a2d60b6927b31ef89cd3b97e8173ea4aa">pcl::PointCloud::resize</a></div><div class="ttdeci">void resize(size_t n)</div><div class="ttdoc">Resize the cloud</div><div class="ttdef"><b>Definition:</b> point_cloud.h:455</div></div>
<div class="ttc" id="aclasspcl_1_1_point_cloud_html_a4f34b45220c57f96607513ffad0d9582"><div class="ttname"><a href="classpcl_1_1_point_cloud.html#a4f34b45220c57f96607513ffad0d9582">pcl::PointCloud::height</a></div><div class="ttdeci">uint32_t height</div><div class="ttdoc">The point cloud height (if organized as an image-structure).</div><div class="ttdef"><b>Definition:</b> point_cloud.h:415</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="afe04d57224cedbcad63ed292fad21a41"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afe04d57224cedbcad63ed292fad21a41">&#9670;&nbsp;</a></span>dilationGray()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_morphology.html">pcl::Morphology</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;::dilationGray </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>output</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Takes the max of the pixels where kernel is 1 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output point cloud passed by reference </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;{</div>
<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> height = <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;height;</div>
<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> width = <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;width;</div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> kernel_height = structuring_element_-&gt;height;</div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> kernel_width = structuring_element_-&gt;width;</div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;  <span class="keywordtype">float</span> max;</div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160; </div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;  output.<a class="code" href="classpcl_1_1_point_cloud.html#a2d60b6927b31ef89cd3b97e8173ea4aa">resize</a> (width * height);</div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;  output.<a class="code" href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">width</a> = width;</div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;  output.<a class="code" href="classpcl_1_1_point_cloud.html#a4f34b45220c57f96607513ffad0d9582">height</a> = height;</div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160; </div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; height; i++)</div>
<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;  {</div>
<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; width; j++)</div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    {</div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;      max = -1;</div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;      <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k = 0; k &lt; kernel_height; k++)</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;      {</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;        <span class="keywordflow">for</span> (<span class="keywordtype">int</span> l = 0; l &lt; kernel_width; l++)</div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;        {</div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;          <span class="comment">// We only check for 1&#39;s in the kernel</span></div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;          <span class="keywordflow">if</span> ((*structuring_element_)(l, k).intensity == 0)</div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;            <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;          <span class="keywordflow">if</span> ((i + k - kernel_height / 2) &lt; 0 || (i + k - kernel_height / 2) &gt;= height || (j + l - kernel_width / 2) &lt; 0 || (j + l - kernel_width / 2) &gt;= width)</div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;          {</div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;            <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;          }</div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;          <span class="comment">// If one of the elements of the kernel and image dont match, </span></div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;          <span class="comment">// the output image is 0. So, move to the next point.</span></div>
<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;          <span class="keywordflow">if</span> ((*<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>)(j + l - kernel_width / 2, i + k - kernel_height / 2).intensity &gt; max || max == -1)</div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;          {</div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;            max = (*input_)(j + l - kernel_width / 2, i + k - kernel_height / 2).intensity;</div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;          }</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;        }</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;      }</div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;      <span class="comment">// Assign value according to mismatch flag</span></div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;      output (j, i).intensity = max;</div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    }</div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;  }</div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a3f3d6dd575a8e6a088816769e0ce89b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f3d6dd575a8e6a088816769e0ce89b0">&#9670;&nbsp;</a></span>erosionBinary()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_morphology.html">pcl::Morphology</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;::erosionBinary </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>output</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Binary dilation is similar to a logical disjunction of sets. At each pixel having value 1, if for all pixels in the structuring element having value 1, the corresponding pixels in the input image are also 1, the center pixel is set to 1. Otherwise, it is set to 0. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output point cloud passed by reference </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;{</div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> height = <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;height;</div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> width = <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;width;</div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> kernel_height = structuring_element_-&gt;height;</div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> kernel_width = structuring_element_-&gt;width;</div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  <span class="keywordtype">bool</span> mismatch_flag;</div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;  output.<a class="code" href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">width</a> = width;</div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  output.<a class="code" href="classpcl_1_1_point_cloud.html#a4f34b45220c57f96607513ffad0d9582">height</a> = height;</div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  output.<a class="code" href="classpcl_1_1_point_cloud.html#a2d60b6927b31ef89cd3b97e8173ea4aa">resize</a> (width * height);</div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; </div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; height; i++)</div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;  {</div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; width; j++)</div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    {</div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      <span class="comment">// Operation done only at 1&#39;s</span></div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      <span class="keywordflow">if</span> ((*<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>)(j, i).intensity == 0)</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;      {</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        output (j, i).intensity = 0;</div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;      }</div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      mismatch_flag = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k = 0; k &lt; kernel_height; k++)</div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;      {</div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;        <span class="keywordflow">if</span> (mismatch_flag)</div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;          <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        <span class="keywordflow">for</span> (<span class="keywordtype">int</span> l = 0; l &lt; kernel_width; l++)</div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;        {</div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;          <span class="comment">// We only check for 1&#39;s in the kernel</span></div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;          <span class="keywordflow">if</span> ((*structuring_element_)(l, k).intensity == 0)</div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;            <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;          <span class="keywordflow">if</span> ((i + k - kernel_height / 2) &lt; 0 || (i + k - kernel_height / 2) &gt;= height || (j + l - kernel_width / 2) &lt; 0 || (j + l - kernel_width / 2) &gt;= width)</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;          {</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;            <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;          }</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;          <span class="comment">// If one of the elements of the kernel and image dont match, </span></div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;          <span class="comment">// the output image is 0. So, move to the next point.</span></div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;          <span class="keywordflow">if</span> ((*<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>)(j + l - kernel_width / 2, i + k - kernel_height / 2).intensity != 1)</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;          {</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;            output (j, i).intensity = 0;</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;            mismatch_flag = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;            <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;          }</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;        }</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;      }</div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;      <span class="comment">// Assign value according to mismatch flag</span></div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;      output (j, i).intensity = (mismatch_flag) ? 0 : 1;</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    }</div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;  }</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a341d6b75cfdf4dac2e11df6c7a92b244"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a341d6b75cfdf4dac2e11df6c7a92b244">&#9670;&nbsp;</a></span>erosionGray()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_morphology.html">pcl::Morphology</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;::erosionGray </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>output</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Takes the min of the pixels where kernel is 1 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output point cloud passed by reference </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;{</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> height = <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;height;</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> width = <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;width;</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> kernel_height = structuring_element_-&gt;height;</div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> kernel_width = structuring_element_-&gt;width;</div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;  <span class="keywordtype">float</span> min;</div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;  output.<a class="code" href="classpcl_1_1_point_cloud.html#a2d60b6927b31ef89cd3b97e8173ea4aa">resize</a> (width * height);</div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;  output.<a class="code" href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">width</a> = width;</div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;  output.<a class="code" href="classpcl_1_1_point_cloud.html#a4f34b45220c57f96607513ffad0d9582">height</a> = height;</div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160; </div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; height; i++)</div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;  {</div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; width; j++)</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    {</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;      min = -1;</div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;      <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k = 0; k &lt; kernel_height; k++)</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;      {</div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;        <span class="keywordflow">for</span> (<span class="keywordtype">int</span> l = 0; l &lt; kernel_width; l++)</div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        {</div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;          <span class="comment">// We only check for 1&#39;s in the kernel</span></div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;          <span class="keywordflow">if</span> ((*structuring_element_)(l, k).intensity == 0)</div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;            <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;          <span class="keywordflow">if</span> ((i + k - kernel_height / 2) &lt; 0 || (i + k - kernel_height / 2) &gt;= height || (j + l - kernel_width / 2) &lt; 0 || (j + l - kernel_width / 2) &gt;= width)</div>
<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;          {</div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;            <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;          }</div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;          <span class="comment">// If one of the elements of the kernel and image dont match, </span></div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;          <span class="comment">// the output image is 0. So, move to the next point.</span></div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;          <span class="keywordflow">if</span> ((*<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>)(j + l - kernel_width / 2, i + k - kernel_height / 2).intensity &lt; min || min == -1)</div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;          {</div>
<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;            min = (*input_)(j + l - kernel_width / 2, i + k - kernel_height / 2).intensity;</div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;          }</div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;        }</div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;      }</div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;      <span class="comment">// Assign value according to mismatch flag</span></div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;      output (j, i).intensity = min;</div>
<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    }</div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;  }</div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a8313a81878dd09abd8be306e7c2819f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8313a81878dd09abd8be306e7c2819f6">&#9670;&nbsp;</a></span>intersectionBinary()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_morphology.html">pcl::Morphology</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;::intersectionBinary </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>input1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>input2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set operation <img class="formulaInl" alt="$ output = input1 \cap input2 $" src="form_1.png"/> </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output point cloud passed by reference </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">input1</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">input2</td><td></td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;{</div>
<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> height = (input1.<a class="code" href="classpcl_1_1_point_cloud.html#a4f34b45220c57f96607513ffad0d9582">height</a> &lt; input2.<a class="code" href="classpcl_1_1_point_cloud.html#a4f34b45220c57f96607513ffad0d9582">height</a>) ? input1.<a class="code" href="classpcl_1_1_point_cloud.html#a4f34b45220c57f96607513ffad0d9582">height</a> : input2.<a class="code" href="classpcl_1_1_point_cloud.html#a4f34b45220c57f96607513ffad0d9582">height</a>;</div>
<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> width = (input1.<a class="code" href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">width</a> &lt; input2.<a class="code" href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">width</a>) ? input1.<a class="code" href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">width</a> : input2.<a class="code" href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">width</a>;</div>
<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;  output.<a class="code" href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">width</a> = width;</div>
<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;  output.<a class="code" href="classpcl_1_1_point_cloud.html#a4f34b45220c57f96607513ffad0d9582">height</a> = height;</div>
<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;  output.<a class="code" href="classpcl_1_1_point_cloud.html#a2d60b6927b31ef89cd3b97e8173ea4aa">resize</a> (height * width);</div>
<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160; </div>
<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;  <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; output.size (); ++i)</div>
<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;  {</div>
<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;    <span class="keywordflow">if</span> (input1[i].intensity == 1 &amp;&amp; input2[i].intensity == 1)</div>
<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;      output[i].intensity = 1;</div>
<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;    <span class="keywordflow">else</span></div>
<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;      output[i].intensity = 0;</div>
<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;  }</div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a37c8821498acb128fbd65fdc6fb53f4b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a37c8821498acb128fbd65fdc6fb53f4b">&#9670;&nbsp;</a></span>openingBinary()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_morphology.html">pcl::Morphology</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;::openingBinary </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>output</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs erosion followed by dilation. It is useful for removing noise in the form of small blobs and patches. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output point cloud passed by reference </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;{</div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;  PointCloudInPtr intermediate_output (<span class="keyword">new</span> PointCloudIn);</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;  <a class="code" href="classpcl_1_1_morphology.html#a3f3d6dd575a8e6a088816769e0ce89b0">erosionBinary</a> (*intermediate_output);</div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;  this-&gt;<a class="code" href="classpcl_1_1_p_c_l_base.html#a1952d7101f3942bac3b69ed55c1ca7ea">setInputCloud</a> (intermediate_output);</div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;  <a class="code" href="classpcl_1_1_morphology.html#a18dc51525761a4cf3e183ae60661d62d">dilationBinary</a> (output);</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="aa7da4236ea753b03fc9fc2a1d9733440"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa7da4236ea753b03fc9fc2a1d9733440">&#9670;&nbsp;</a></span>openingGray()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_morphology.html">pcl::Morphology</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;::openingGray </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>output</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Grayscale erosion followed by dilation. This is used to remove small bright artifacts from the image. Large bright objects are relatively undisturbed. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output point cloud passed by reference </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;{</div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;  PointCloudInPtr intermediate_output (<span class="keyword">new</span> PointCloudIn);</div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;  <a class="code" href="classpcl_1_1_morphology.html#a341d6b75cfdf4dac2e11df6c7a92b244">erosionGray</a> (*intermediate_output);</div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;  this-&gt;<a class="code" href="classpcl_1_1_p_c_l_base.html#a1952d7101f3942bac3b69ed55c1ca7ea">setInputCloud</a> (intermediate_output);</div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;  <a class="code" href="classpcl_1_1_morphology.html#afe04d57224cedbcad63ed292fad21a41">dilationGray</a> (output);</div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a40b826a1d22a1644d5234a618bacfc78"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a40b826a1d22a1644d5234a618bacfc78">&#9670;&nbsp;</a></span>setStructuringElement()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_morphology.html">pcl::Morphology</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;::setStructuringElement </td>
          <td>(</td>
          <td class="paramtype">const PointCloudInPtr &amp;&#160;</td>
          <td class="paramname"><em>structuring_element</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">structuring_element</td><td>The structuring element to be used for the morphological operation </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;{</div>
<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;  structuring_element_ = structuring_element;</div>
<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ae0275368c80f63873c36cad8ce60ceb2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0275368c80f63873c36cad8ce60ceb2">&#9670;&nbsp;</a></span>structuringElementCircular()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_morphology.html">pcl::Morphology</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;::structuringElementCircular </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>kernel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>radius</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Creates a circular structing element. The size of the kernel created is 2*radius x 2*radius. Center of the structuring element is the center of the circle. All values lying on the circle are 1 and the others are 0. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">kernel</td><td>structuring element kernel passed by reference </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">radius</td><td>Radius of the circular structuring element. </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;{</div>
<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> dim = 2 * radius;</div>
<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;  kernel.<a class="code" href="classpcl_1_1_point_cloud.html#a4f34b45220c57f96607513ffad0d9582">height</a> = dim;</div>
<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;  kernel.<a class="code" href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">width</a> = dim;</div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;  kernel.<a class="code" href="classpcl_1_1_point_cloud.html#a2d60b6927b31ef89cd3b97e8173ea4aa">resize</a> (dim * dim);</div>
<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160; </div>
<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; dim; i++)</div>
<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;  {</div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; dim; j++)</div>
<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;    {</div>
<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;      <span class="keywordflow">if</span> (((i - radius) * (i - radius) + (j - radius) * (j - radius)) &lt; radius * radius)</div>
<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;        kernel (j, i).intensity = 1;</div>
<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;      <span class="keywordflow">else</span></div>
<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;        kernel (j, i).intensity = 0;</div>
<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;    }</div>
<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;  }</div>
<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a95c09ffdc412564eee4d9c2e9461baaf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95c09ffdc412564eee4d9c2e9461baaf">&#9670;&nbsp;</a></span>structuringElementRectangle()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_morphology.html">pcl::Morphology</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;::structuringElementRectangle </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>kernel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>width</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Creates a rectangular structing element of size height x width. * All values are 1. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">kernel</td><td>structuring element kernel passed by reference </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>height number of rows in the structuring element </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>number of columns in the structuring element </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;{</div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;  kernel.<a class="code" href="classpcl_1_1_point_cloud.html#a4f34b45220c57f96607513ffad0d9582">height</a> = height;</div>
<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;  kernel.<a class="code" href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">width</a> = width;</div>
<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;  kernel.<a class="code" href="classpcl_1_1_point_cloud.html#a2d60b6927b31ef89cd3b97e8173ea4aa">resize</a> (height * width);</div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;  <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; kernel.size (); ++i)</div>
<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;    kernel[i].intensity = 1;</div>
<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a24016fd8a10973def9d5a7b7ce2fff0c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24016fd8a10973def9d5a7b7ce2fff0c">&#9670;&nbsp;</a></span>subtractionBinary()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_morphology.html">pcl::Morphology</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;::subtractionBinary </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>input1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>input2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set operation output = input1 - input2 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output point cloud passed by reference </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">input1</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">input2</td><td></td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;{</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> height = (input1.<a class="code" href="classpcl_1_1_point_cloud.html#a4f34b45220c57f96607513ffad0d9582">height</a> &lt; input2.hieght) ? input1.<a class="code" href="classpcl_1_1_point_cloud.html#a4f34b45220c57f96607513ffad0d9582">height</a> : input2.<a class="code" href="classpcl_1_1_point_cloud.html#a4f34b45220c57f96607513ffad0d9582">height</a>;</div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> width = (input1.<a class="code" href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">width</a> &lt; input2.<a class="code" href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">width</a>) ? input1.<a class="code" href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">width</a> : input2.<a class="code" href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">width</a>;</div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;  output.<a class="code" href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">width</a> = width;</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;  output.<a class="code" href="classpcl_1_1_point_cloud.html#a4f34b45220c57f96607513ffad0d9582">height</a> = height;</div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;  output.<a class="code" href="classpcl_1_1_point_cloud.html#a2d60b6927b31ef89cd3b97e8173ea4aa">resize</a> (height * width);</div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160; </div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;  <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; output.size (); ++i)</div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;  {</div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;    <span class="keywordflow">if</span> (input1[i].intensity == 1 &amp;&amp; input2[i].intensity == 0)</div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;      output[i].intensity = 1;</div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;    <span class="keywordflow">else</span></div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;      output[i].intensity = 0;</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;  }</div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a8b51bc2105b1a685b2d8f901bf03ec30"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b51bc2105b1a685b2d8f901bf03ec30">&#9670;&nbsp;</a></span>unionBinary()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_morphology.html">pcl::Morphology</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;::unionBinary </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>input1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>input2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set operation <img class="formulaInl" alt="$output = input1 \cup input2$" src="form_0.png"/> </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output point cloud passed by reference </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">input1</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">input2</td><td></td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;{</div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> height = (input1.<a class="code" href="classpcl_1_1_point_cloud.html#a4f34b45220c57f96607513ffad0d9582">height</a> &lt; input2.hieght) ? input1.<a class="code" href="classpcl_1_1_point_cloud.html#a4f34b45220c57f96607513ffad0d9582">height</a> : input2.<a class="code" href="classpcl_1_1_point_cloud.html#a4f34b45220c57f96607513ffad0d9582">height</a>;</div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> width = (input1.<a class="code" href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">width</a> &lt; input2.<a class="code" href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">width</a>) ? input1.<a class="code" href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">width</a> : input2.<a class="code" href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">width</a>;</div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;  output.<a class="code" href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">width</a> = width;</div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;  output.<a class="code" href="classpcl_1_1_point_cloud.html#a4f34b45220c57f96607513ffad0d9582">height</a> = height;</div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;  output.<a class="code" href="classpcl_1_1_point_cloud.html#a2d60b6927b31ef89cd3b97e8173ea4aa">resize</a> (height * width);</div>
<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160; </div>
<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;  <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; output.size (); ++i)</div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;  {</div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    <span class="keywordflow">if</span> (input1[i].intensity == 1 || input2[i].intensity == 1)</div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;      output[i].intensity = 1;</div>
<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;    <span class="keywordflow">else</span></div>
<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;      output[i].intensity = 0;</div>
<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;  }</div>
<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>2d/include/pcl/2d/<a class="el" href="morphology_8h_source.html">morphology.h</a></li>
<li>2d/include/pcl/2d/impl/<a class="el" href="morphology_8hpp_source.html">morphology.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>pcl</b></li><li class="navelem"><a class="el" href="classpcl_1_1_morphology.html">Morphology</a></li>
    <li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
